![]() | DIRECCIONAMIENTO POR NOMBRE |
(n = 7)
(n = n+1)
// sumar 1 a n
n
hace referencoia al contenido de n
, o el valor asociado a n
.
n
se interpreta como: "el contenido de n
es igual contenido de n
más uno". No se interpreta como (7 = 7+1). En este caso, el nuevo valor de n
es 8.
(n = 7)
(n° = n + 1)
// sumar 1 a n
n
no se evalúa (se autoevalúa), la segunda sí se evalúa. En este caso, las expresiones (n° = n + 1)
y (n = n+1)
son equivalentes.
n
se hace referencia al valor (o contenido)
n°
, que es un nombre, se hace referencia al continente. Desempeña un papel equivalente a la dirección de memoria en la arquitectura von Neumann.
x
y queramos sustituir el contenido del segundo componente de x
, se utiliza la expresión x\2
a la izquierda del signo "=
". Por ejemplo,
(x = (a b c d)) // definición de la secuencia
(x\2 = 123) // actualización del segundo componente de la secuencia
x // ev. (a 123 c d)
(s = (a b c d)) // definición secuencia
(n = 2)
(s\n = 123) // actualización del segundo componente de la secuencia
s // ev. (a 123 c d)
(s\n = 123)
y ((s\n)° = 123)
no son equivalentes.
(x\2)°
a la derecha del signo =
, nos estamos refiriendo a x\2
, pero en diferido. Por ejemplo,
(x = (a b c (x\2)° d)
x // ev. (a b c x\2 d)
x // ev. (a b c b d)
(x = (a b c))
, entonces:
x↓
hace referencia al contenido de x
, es decir, a la expresión abierta a b c
(x↓)°
situado a la derecha del signo =
hace referencia al contenido de x
en diferido.
x = (a b c)
x↓
// ev. a b c
(expresión abierta)
(x↓= u+v)
// sustituir el contenido de x
por u+v
x
// ev. u+v
(x = {a b c})
(x↓ = θ)
// eliminar el contenido de x
x
// ev. {θ}
ev. {}
(conjunto vacío)
(x = (a b c))
(x↓ = θ)
// eliminar el contenido de x
x
// ev. (θ)
ev. ()
(secuencia vacía)
(y = (u v))
(x = (a b (y↓)° c))
x // ev. (a b y↓ c)
x // ev. (a b u v c)
〈( f(x y) = x+y )〉
f(3 4) // ev. 7
f(a b) // ev. a+b
(a = 3) (b = "abc")
f(a b) // ev. 3+"abc"
f(ab cd) // ev. ab+cd
n
por n
.
x
, la secuencia), y un parámetro de entrada (el número n
de referencia).
〈( sust(x n) = ([(x\i > n)→(x(i) = n)/(i=[1…(x#))]))] )〉
(x = (4 7 6 5 2))
sust(x 5) // se pasa como parámetro el nombre de la secuencia
x // ev. (4 5 5 5 2)
x(i) = valor
, en donde i
es un número natural (subíndice). En MENTAL, x(i)
se interpretaría como la secuencia (x i)
, no como la dirección del elemento i
de x
. Los subíndices en MENTAL se pueden representar mediante una particularización cualitativa por un número natural. Por ejemplo, x/3
, que equivale a x3
.